package com.gpio;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

public class ThreadTest {
	
	public static void main(String[] args) throws DocumentException {
//		System.out.println("测试开始");
//		try {
//			Thread.sleep(10/1000);
//		} catch(Exception e) {
//			e.printStackTrace();
//		}
//		System.out.println("测试结束");
		
		String xmlStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Message><MsgID>消息ID(默认使用UUID)</MsgID><MsgType>消息类型(EQUIPMENT/SERVER消息类型,前端设备/中心服务)</MsgType><Version>协议版本(当前默认2.0)</Version><Provider>厂商编码(参考4.2)</Provider><EquipType>设备类型(根据MsgType区别,参考4.1)</EquipType><EquipID>设备编码 参考4.3</EquipID><EquipIP>设备IP或服务所在服务器IP</EquipIP><EquipPort>设备端口号或服务端口号(默认80)</EquipPort><EquipName>上报设备名称</EquipName><FaultLevel>故障等级(默认2，参考4.6)</FaultLevel><FaultType1L code=\"一级故障类型(参考4.4)\"><FaultType2L code=\"二级故障类型\"> --无二三级故障时可无此标签或填-1<FaultType3L code=\"三级故障类型\"> </FaultType3L></FaultType2L><FaultType2L code=\"二级故障类型\"></FaultType2L> --多个二级故障并列填写</FaultType1L><FaultType1L code=\"一级故障类型\"></FaultType1L> --多个一级故障并列填写<FaultDesc>故障描述(多级故障时统一描述,不超过100个中文字符)</FaultDesc><FilePathes><FilePath type=\"文件类型(参考4.5)\">URL地址(不超过1000个英文字符)</FilePath><FilePath type=\"文件类型\"> --多个文件时并列填写URL地址</FilePath></FilePathes><ChectTime>设备检测时间(格式:YYYY-MM-DD HH24:MM:SS)</ChectTime><FaultTime>故障发生时间(格式:YYYY-MM-DD HH24:MM:SS)</FaultTime><UploadTime>数据上传时间(格式:YYYY-MM-DD HH24:MM:SS)</UploadTime></Message>";
		Document document = DocumentHelper.parseText(xmlStr);
		Element root = document.getRootElement();
		Iterator<Element> i = root.elementIterator();
		List<String> faultList = new ArrayList<>();
		while (i.hasNext()) {
			Element e = i.next();
			String name = e.getName();
			if ("EquipID".equals(name)) {
				System.out.println("==============EquipID" + e.getStringValue());
			} else if ("EquipName".equals(name)) {
				System.out.println("==============EquipName" + e.getStringValue());
			} else if ("FaultType1L".equals(name)) {
				System.out.println("==============FaultType1L Code" + e.attributeValue("code"));
			}
		}		
				
	}

}
